// var i;
// var $uI_ShowZaZhong_UIBindings = require("./UI_ShowZaZhong_UIBindings");
// var $uIView = require("./UIView");
// var $excel = require("./Excel");
// var $bundleConfig = require("./BundleConfig");
// var $commonUtils = require("./CommonUtils");
// var p = cc._decorator;
// var h = p.ccclass;
// var f = p.property;
// var g = p.inspector;
// var _ = (function (e) {
//     function t() {
//         var t = (null !== e && e.apply(this, arguments)) || this;
//         t.auto_ui = null;
//         return t;
//     }
//     __extends(t, e);
//     t.prototype._show = function (e) {
//         var t = $excel.Excel.shuiguo(e.shuiGuoId);
//         if (t) {
//             var o = this.auto_ui;
//             o.txt_titleLabel.string = t.newName;
//             this._loadRes(
//                 $bundleConfig.BundleNames.Common,
//                 "res/player/player" + (e.shuiGuoId - 1e3) + "_5",
//                 cc.SpriteFrame
//             ).then(function (e) {
//                 o.sp_icon.spriteFrame = e;
//             });
//             this._loadRes(
//                 $bundleConfig.BundleNames.Common,
//                 "res/tianfuicon/tianfu_" + e.shuiGuoId + "_1",
//                 cc.SpriteFrame
//             ).then(function (e) {
//                 o.sp_ciTiaoIcon.spriteFrame = e;
//             });
//             var n = -1;
//             $excel.Excel.shuiguohecheng_all.forEach(function (t) {
//                 if (t.shuiguoId == e.shuiGuoId && 0 != t.newTianFuBuff) {
//                     n = t.newTianFuBuff;
//                 }
//             });
//             if (-1 != n) {
//                 var i = $excel.Excel.shuiguobuff(n);
//                 if (i) {
//                     var a = i.value;
//                     var r = i.buffdesc;
//                     var c = [(r = $commonUtils.default.replaceSymbols(r, "\\n", [""]))];
//                     if (-1 != r.indexOf("X")) {
//                         c = r.split("X");
//                     }
//                     var s = "";
//                     for (var p = 0; p < c.length; p++) {
//                         var h = c[p];
//                         if (-1 != h.indexOf("#")) {
//                             var f = '<color=#ffff00 click="ShowZaZhongInfo">' + t.newName + "</c>";
//                             f = "<u>" + f + "</u>";
//                             h = $commonUtils.default.replaceSymbols(h, "#", [f]);
//                         }
//                         s += "<color=#ffffff>" + h + "</c>";
//                         if (p < c.length - 1 && a) {
//                             s += "<color=#71ff00>" + a[p] + "</c>";
//                         }
//                     }
//                     s = "<outline color=#000000 width=3>" + (s = "<b>" + s + "</b>") + "</outline>";
//                     this.auto_ui.rtxt_ciTiaoInfo.string = s;
//                 }
//             }
//             $commonUtils.default.LoadLevel5Effect(
//                 e.shuiGuoId,
//                 this.auto_ui.node_qiFather,
//                 this.auto_ui.node_huoFather,
//                 this._loadRes.bind(this)
//             );
//         } else {
//             this._close();
//         }
//     };
//     t.prototype._clickListener = function (e) {
//         switch (e) {
//             case this.auto_ui.btn_closeBtn:
//                 this._close();
//         }
//     };
//     __decorate([f($uI_ShowZaZhong_UIBindings.default)], t.prototype, "auto_ui", void 0);
//     return __decorate([h], t);
// })($uIView.default);
// exports.default = _;


// import UI_ShowZaZhong_UIBindings from './UI_ShowZaZhong_UIBindings';
// import UIView from './UIView';
// import { Excel } from './Excel';
// import { BundleNames } from './BundleConfig';
// import CommonUtils from './CommonUtils';

// const { ccclass, property } = cc._decorator;

// /**
//  * 建议类名: ShowZaZhongController
//  * 控制展示杂种水果的界面
//  */
// @ccclass
// class UI_ShowZaZhong extends UIView {

//     /** 自动UI绑定 */
//     @property(UI_ShowZaZhong_UIBindings)
//     auto_ui: UI_ShowZaZhong_UIBindings = null;

//     /**
//      * 显示杂种水果的信息
//      * @param e 杂种水果数据对象，其中包含了水果ID等信息
//      * 建议方法名: showFruitInfo
//      */
//     _show(e: any): void {
//         const fruitInfo = Excel.shuiguo(e.shuiGuoId);
//         if (fruitInfo) {
//             const uiBindings = this.auto_ui;
//             uiBindings.txt_titleLabel.string = fruitInfo.newName;

//             // 加载并设置水果图标
//             this._loadRes(
//                 BundleNames.Common,
//                 `res/player/player${e.shuiGuoId - 1000}_5`,
//                 cc.SpriteFrame
//             ).then((spriteFrame: cc.SpriteFrame) => {
//                 uiBindings.sp_icon.spriteFrame = spriteFrame;
//             });

//             // 加载并设置天赋图标
//             this._loadRes(
//                 BundleNames.Common,
//                 `res/tianfuicon/tianfu_${e.shuiGuoId}_1`,
//                 cc.SpriteFrame
//             ).then((spriteFrame: cc.SpriteFrame) => {
//                 uiBindings.sp_ciTiaoIcon.spriteFrame = spriteFrame;
//             });

//             let newTianFuBuff = -1;
//             Excel.shuiguohecheng_all.forEach((fruit) => {
//                 if (fruit.shuiguoId == e.shuiGuoId && fruit.newTianFuBuff !== 0) {
//                     newTianFuBuff = fruit.newTianFuBuff;
//                 }
//             });

//             if (newTianFuBuff !== -1) {
//                 const buffInfo = Excel.shuiguobuff(newTianFuBuff);
//                 if (buffInfo) {
//                     const buffValue = buffInfo.value;
//                     const buffDesc = buffInfo.buffdesc;
//                     let formattedDesc = CommonUtils.replaceSymbols(buffDesc, "\\n", [""]);
//                     let splitDesc = formattedDesc.includes("X") ? formattedDesc.split("X") : [formattedDesc];

//                     let finalDesc = "";
//                     for (let i = 0; i < splitDesc.length; i++) {
//                         let part = splitDesc[i];
//                         if (part.includes("#")) {
//                             let replacement = `<color=#ffff00 click="ShowZaZhongInfo">${fruitInfo.newName}</c>`;
//                             replacement = `<u>${replacement}</u>`;
//                             part = CommonUtils.replaceSymbols(part, "#", [replacement]);
//                         }
//                         finalDesc += `<color=#ffffff>${part}</c>`;
//                         if (i < splitDesc.length - 1 && buffValue) {
//                             finalDesc += `<color=#71ff00>${buffValue[i]}</c>`;
//                         }
//                     }
//                     finalDesc = `<outline color=#000000 width=3><b>${finalDesc}</b></outline>`;
//                     uiBindings.rtxt_ciTiaoInfo.string = finalDesc;
//                 }
//             }

//             // 加载五级效果
//             CommonUtils.LoadLevel5Effect(
//                 e.shuiGuoId,
//                 this.auto_ui.node_qiFather,
//                 this.auto_ui.node_huoFather,
//                 this._loadRes.bind(this)
//             );
//         } else {
//             this._close();
//         }
//     }

//     /**
//      * 监听点击事件
//      * @param e 点击事件对象
//      * 建议方法名: handleClickEvent
//      */
//     _clickListener(e: any): void {
//         switch (e) {
//             case this.auto_ui.btn_closeBtn:
//                 this._close();
//                 break;
//         }
//     }
// }

// export default UI_ShowZaZhong;

import UIShowZaZhongUIBindings from './UI_ShowZaZhong_UIBindings';
import UIViewBase from './UIView';
import { Excel } from './Excel';
import { BundleNames } from './BundleConfig';
import CommonUtils from './CommonUtils';

const { ccclass, property } = cc._decorator;

/**
 * 建议类名: ShowZaZhongController
 * 控制展示杂种水果的界面
 */
@ccclass
class ViewShowZaZhong extends UIViewBase {

    /** 自动UI绑定 */
    @property(UIShowZaZhongUIBindings)
    auto_ui: UIShowZaZhongUIBindings = null;

    /**
     * 显示杂种水果的信息
     * @param fruitData 杂种水果数据对象，其中包含了水果ID等信息
     * 建议方法名: showFruitInfo
     */
    _show(fruitData: any): void {
        const fruitInfo = Excel.shuiguo(fruitData.shuiGuoId);
        if (fruitInfo) {
            const { txt_titleLabel, sp_icon, sp_ciTiaoIcon, rtxt_ciTiaoInfo, node_qiFather, node_huoFather } = this.auto_ui;
            txt_titleLabel.string = fruitInfo.newName;

            // 加载并设置水果图标
            this._loadRes(
                BundleNames.Common,
                `res/player/player${fruitData.shuiGuoId - 1000}_5`,
                cc.SpriteFrame
            ).then((spriteFrame: cc.SpriteFrame) => {
                sp_icon.spriteFrame = spriteFrame;
            });

            // 加载并设置天赋图标
            this._loadRes(
                BundleNames.Common,
                `res/tianfuicon/tianfu_${fruitData.shuiGuoId}_1`,
                cc.SpriteFrame
            ).then((spriteFrame: cc.SpriteFrame) => {
                sp_ciTiaoIcon.spriteFrame = spriteFrame;
            });

            let newTianFuBuff = -1;
            Excel.shuiguohecheng_all.forEach((fruit) => {
                if (fruit.shuiguoId == fruitData.shuiGuoId && fruit.newTianFuBuff !== 0) {
                    newTianFuBuff = fruit.newTianFuBuff;
                }
            });

            if (newTianFuBuff !== -1) {
                const buffInfo = Excel.shuiguobuff(newTianFuBuff);
                if (buffInfo) {
                    const { value: buffValue, buffdesc: buffDesc } = buffInfo;
                    let formattedDesc = CommonUtils.replaceStringSymbols(buffDesc, "\\n", [""]);
                    let splitDesc = formattedDesc.includes("X") ? formattedDesc.split("X") : [formattedDesc];

                    let finalDesc = splitDesc.map((part, index) => {
                        if (part.includes("#")) {
                            const replacement = `<u><color=#ffff00 click="ShowZaZhongInfo">${fruitInfo.newName}</c></u>`;
                            part = CommonUtils.replaceStringSymbols(part, "#", [replacement]);
                        }
                        let colorPart = `<color=#ffffff>${part}</c>`;
                        if (buffValue && index < splitDesc.length - 1) {
                            colorPart += `<color=#71ff00>${buffValue[index]}</c>`;
                        }
                        return colorPart;
                    }).join('');

                    finalDesc = `<outline color=#000000 width=3><b>${finalDesc}</b></outline>`;
                    rtxt_ciTiaoInfo.string = finalDesc;
                }
            }

            // 加载五级效果
            CommonUtils.loadLevel5Effect(
                fruitData.shuiGuoId,
                node_qiFather,
                node_huoFather,
                this._loadRes.bind(this)
            );
        } else {
            this._close();
        }
    }

    /**
     * 监听点击事件
     * @param event 点击事件对象
     * 建议方法名: handleClickEvent
     */
    _clickListener(event: any): void {
        if (event === this.auto_ui.btn_closeBtn) {
            this._close();
        }
    }
}

export default ViewShowZaZhong;